package com.chongchong.flow.mapper;

import com.chongchong.core.mp.dao.BaseDaoMapper;
import com.chongchong.flow.dto.UserAssigneeDto;
import com.chongchong.flow.entity.FlowMessage;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * 工作流消息数据操作访问接口。
 *
 * @author Jerry
 * @date 2021-06-06
 */
public interface FlowMessageMapper extends BaseDaoMapper<FlowMessage> {

    /**
     * 获取指定用户和身份分组Id集合的催办消息列表。
     *
     * @param loginName  用户的登录名。与流程任务的assignee精确匹配。
     * @param groupIdSet 用户身份分组Id集合。
     * @return 查询后的催办消息列表。
     */
    List<FlowMessage> getRemindingMessageListByUser(
		@Param("loginName") String loginName, @Param("groupIdSet") Set<String> groupIdSet);


	/** 通过taskId获取角色名字
	 * @author  wuning
	 * @date    2022/9/25 0:37
	 * @param	taskId
	 * @return  java.lang.String
	 */
	List<String> getRoleNamByTaskId(String taskId);

	/**
	 * 通过account集合获取用户等名信息
	 *
	 * @param accounts
	 * @return java.util.List<com.chongchong.flow.dto.UserAssigneeDto>
	 * @author wuning
	 * @date 2022/9/30 14:51
	 */
	List<UserAssigneeDto> getUserNameByAccount(List<String> accounts);

	/**根据用户id查用户account
	 * @return java.lang.String
	 * @author wuning
	 * @date 2022/10/11 12:14
	 * @param    id 用户id
	 */
	String getUserById(Long id);
}
